.include "tn2313def.inc"
.def temp = r16
.org 0
rjmp start
.ESEG
.org $0

.CSEG
.org 20
.DW 0b01111110,0b00110000,0b01101101,0b01111001,0b00110011,0b01011011,0b01011111,0b01110000,0b01111111,0b01111011;   7-    FLASH- (  )


\\\


    ,         . 



\\\\\
DISPLAY: ;      

rcall BCD8
rcall CODSSI
rcall INDICATOR
RET

BCD8: ;  8-  
;  -.     R17
;:   R11,  R12,   R13.
ldi r16,255 ; 1.     
;
b1: inc r16 ; 2.    
subi r17,100 ; 3.      
brsh b1 ; 4.     
;  b1
mov r13,r16 ; 5.     R13
ldi r18,100 ; 6.   R18   
add r17,r18 ; 7.   
ldi r16,255 ; 8.      
b2: inc r16 ; 9.   
subi r17,10 ; 10.       
brsh b2 ; 11.     
;  b2
mov r12,r16 ; 12.     R12
ldi r18,10 ; 13.   R18   
add r17,r18 ; 14.   
mov r11,r17 ; 15..     R11
ret ;  BCD8.

CODSSI: ;   FLASH-   
ldi r16,20 ;     20- 
; FLASH-  
;  
add r11,r16 ;   r11  r16
add r12,r16 ;r12  r16
add r13,r16 ;r13  r16
clr r31 ;     Z
mov r30,r11 ;      Z  r11,
;    FLASH-  
;  
lsl r30 ;  
lpm r11,Z ;  r11     FLASH-,
;   Z
mov r30,r12 ; ,   r12 ( )
lsl r30 ;  
lpm r12,Z ;
mov r30,r13 ; ,   r12 ( )
lsl r30 ;
lpm r13,Z ;
RET ;   CODSSI

INDICATOR: ;      
; 3-     
;       :
; r11- , r12-,  r13-
ldi r19,30 ;   r17    
; 
i1: mov r16,r11 ;   r16  
out PORTB,r16 ;     
cbi PORTD,6;  PD6(  )
rcall DELAY;
sbi PORTD,6;   PD6(  )

mov r16,r12;      
out PORTB,r16;
cbi PORTD,5;   
rcall DELAY;
sbi PORTD,5;  

mov r16,r13;
out PORTB,r16;
cbi PORTD,4
rcall DELAY;
sbi PORTD,4;
dec r19;        
brne i1;   ,   
RET;   INDICATOR
;================
DELAY: ;  
ldi r23,20 ;
d1: ldi r22,30
d2: dec r22 ;
brne d2 ;
dec r23 ;
brne d1;
RET ;  DELAY